home *** CD-ROM | disk | FTP | other *** search
/ Collection of Tools & Utilities / Collection of Tools and Utilities.iso / comm / ca29_3.zip / PC-2-PC.CMD < prev    next >
OS/2 REXX Batch file  |  1992-11-30  |  23KB  |  1,501 lines

  1. S29="ATE0Q0V1X1S0=2 S7=30 S9=10^M"
  2. S19="PC-2-PC ver 1.1     "
  3. LEGE S19
  4. SUBD S18
  5. DLDI S17
  6. SET DLDI " "
  7. SET FLAG(0) OFF
  8. SET FLAG(1) ON
  9. SET FLAG(2) Off
  10. SET FLAG(3) Off
  11. SET CDIS ON
  12. SET RDIS OFF
  13. SET SOFT OFF
  14. SET ATIM 0
  15. SET ALAR OFF
  16. SET CHAT OFF
  17. SET XSUI 10
  18. ON ESCA GOSU Exit
  19. N90=N91=N92=0
  20. S16=""
  21. S15=""
  22. SET PARI NONE
  23. SET DATA 8
  24. SET STOP 1
  25. N98=0
  26. GOSU InitScre
  27. GOSU BuildLoc
  28. IF ZERO N98
  29. GOSU LinkTest
  30. ELSE
  31. FOPENI "PC2PC.LOC" TEXT
  32. ENDI
  33. Main:
  34. LEGE S19
  35. LOCA (N99-3),77
  36. SOUN 440,100
  37. SET TTHR OFF
  38. Main100:
  39. IF HITKEY
  40. GOTO MAIN200
  41. ENDI
  42. IF RECEIVE
  43. GOTO MAIN300
  44. ENDI
  45. IF ZERO N98 AND NOT CONNECTED
  46. GOTO Exit
  47. ENDI
  48. GOTO Main100
  49. MAIN200:
  50. KEYG S1
  51. SWIT S1
  52. CASE "C"
  53. GOSU ChangeOu
  54. ENDC
  55. CASE "E"
  56. GOTO Exit
  57. ENDC
  58. CASE "H"
  59. GOSU Help
  60. ENDC
  61. CASE "S"
  62. GOSU Select
  63. ENDC
  64. CASE "T"
  65. GOSU Transfer
  66. ENDC
  67. CASE "W"
  68. GOSU Wildcard
  69. ENDC
  70. CASE "4D00"
  71. GOSU Change_S
  72. ENDC
  73. CASE "4B00"
  74. GOSU Change_S
  75. ENDC
  76. CASE "4900"
  77. GOSU Prev_Pag
  78. ENDC
  79. CASE "5100"
  80. GOSU Next_Pag
  81. ENDC
  82. CASE "4700"
  83. GOSU Home_Pag
  84. ENDC
  85. CASE "4F00"
  86. GOSU End_Page
  87. ENDC
  88. CASE "4800"
  89. GOSU Cursor_U
  90. ENDC
  91. CASE "5000"
  92. GOSU Cursor_D
  93. ENDC
  94. CASE "7100"
  95. SHEL
  96. ENDC
  97. DEFA
  98. SOUN 100,100
  99. ENDC
  100. ENDS
  101. GOTO Main
  102. MAIN300:
  103. RGET S1 1
  104. SWIT S1
  105. CASE "R"
  106. RGET S1 80 10
  107. TRAN "+!"
  108. GOSU Remote_C
  109. ENDC
  110. CASE "E"
  111. GOTO Exit
  112. ENDC
  113. CASE "L"
  114. RGET S1 80 10
  115. TRAN "+!"
  116. GOSU Local_Ch
  117. ENDC
  118. CASE "T"
  119. RGET S1 80 10
  120. GOSU Rcv_Tran
  121. ENDC
  122. CASE "W"
  123. RGET S1 80 10
  124. GOSU Rcv_Wild
  125. ENDC
  126. CASE "?"
  127. TRAN "PC-2-PC!"
  128. SET FLAG(1) OFF
  129. GOSU Exchange
  130. ENDC
  131. DEFA
  132. RFLU
  133. GOTO Main100
  134. ENDC
  135. ENDS
  136. GOTO Main
  137. Exit:
  138. IF FLAG (0)
  139. TRAN "E!"
  140. SET FLAG(0) OFF
  141. ENDI
  142. TSIN (9) N9,N8,N7
  143. S3="DISCONNECT: ("&N9&":"&N8&":"&N7&")"
  144. CLOG S3
  145. IF CONNECTED and NOT FLAG(3)
  146. HANG
  147. ENDI
  148. DO
  149. REST
  150. UNTI FAILURE
  151. FCLOSEI
  152. FCLOSEO
  153. DELE "PC2PC.LOC"
  154. DELE "PC2PC.REM"
  155. CHDI S18
  156. SET CDRE ON
  157. BYE
  158. Clear_Cu:
  159. IF NOT ZERO N90
  160. GOSU Read_Cur
  161. IF FLAG(2)
  162. ATSA N90,41 (default) S12
  163. ELSE
  164. ATSA N90,2 (default) S12
  165. ENDI
  166. ENDI
  167. RETU
  168. Set_Curs:
  169. GOSU Read_Cur
  170. IF NOT ZERO N90
  171. IF FLAG(2)
  172. IF NOT NULL S12
  173. ATSA N90,41 (contrast) S12
  174. ELSE
  175. N90=N90-1
  176. GOTO Set_Curs
  177. ENDI
  178. ELSE
  179. IF NOT NULL S12
  180. ATSA N90,2 (contrast) S12
  181. ELSE
  182. N90=N90-1
  183. GOTO Set_Curs
  184. ENDI
  185. ENDI
  186. ENDI
  187. RETU
  188. Read_Cur:
  189. S12=""
  190. IF NOT ZERO N90
  191. IF FLAG(2)
  192. ATSC N90,41,37 S12
  193. ELSE
  194. ATSC N90,2,37 S12
  195. ENDI
  196. ENDI
  197. RETU
  198. Cursor_U:
  199. GOSU Clear_Cu
  200. IF NOT ZERO N90
  201. N90=N90-1
  202. ELSE
  203. N90=N99-5
  204. ENDI
  205. GOSU Set_Curs
  206. RETU
  207. Cursor_D:
  208. GOSU Clear_Cu
  209. IF LT N90 (N99-5)
  210. N90=N90+1
  211. ELSE
  212. N90=1
  213. ENDI
  214. GOSU Set_Curs
  215. RETU
  216. Change_S:
  217. GOSU Clear_Cu
  218. N90=0
  219. IF FLAG(2)
  220. ATSA N99-4,9 (default) " , , PgUp, PgDn "
  221. ATSA N99-4,48 (default) "  to this window "
  222. SET FLAG(2) OFF
  223. FOPENI "PC2PC.LOC" TEXT
  224. ELSE
  225. ATSA N99-4,9 (default) "  to this window "
  226. ATSA N99-4,48 (default) " , , PgUp, PgDn "
  227. SET FLAG(2) ON
  228. FOPENI "PC2PC.REM" TEXT
  229. ENDI
  230. RETU
  231. Clear_Wi:
  232. IF FLAG(2)
  233. SCRO 0,1,40,(N99-5),77 (default)
  234. ELSE
  235. SCRO 0,1,1,(N99-5),38 (default)
  236. ENDI
  237. N90=0
  238. RETU
  239. Prev_Pag:
  240. FRESTOREI
  241. IF FAILURE
  242. RETU
  243. ENDI
  244. FRESTOREI
  245. IF FAILED
  246. SOUN 100,100
  247. ENDI
  248. FSAVEI
  249. GOSU Clear_Wi
  250. PRPA100:
  251. N1=1
  252. PRPA200:
  253. READ S1 40 N0
  254. IF EOF
  255. IF EQ N1 1
  256. GOTO Prev_Pag
  257. ENDI
  258. GOTO PRPAXIT
  259. ENDI
  260. IF FLAG(2)
  261. ATSA N1,41 (default) S1(0:35)
  262. ELSE
  263. ATSA N1,2 (Default) S1(0:35)
  264. ENDI
  265. INC N1
  266. IF LE N1 (N99-5)
  267. GOTO PRPA200
  268. ENDI
  269. PRPAXIT:
  270. RETU
  271. Next_Pag:
  272. FSAVEI
  273. GOSU Clear_Wi
  274. GOTO PRPA100
  275. Home_Pag:
  276. REWI
  277. FSAVEI CLEAR
  278. GOTO Next_Pag
  279. End_Page:
  280. FSAVEI
  281. GOSU Clear_Wi
  282. ENPA100:
  283. N1=1
  284. ENPA200:
  285. READ S1 40 N0
  286. IF EOF
  287. IF EQ N1 1
  288. FRESTOREI
  289. IF FAILURE
  290. RETU
  291. ENDI
  292. ENDI
  293. GOTO ENPAXIT
  294. ENDI
  295. INC N1
  296. IF LE N1 (N99-5)
  297. GOTO ENPA200
  298. ENDI
  299. FSAVEI
  300. IF FAILED
  301. FSAVEI SHIFT
  302. FSAVEI
  303. ENDI
  304. GOTO ENPA100
  305. ENPAXIT:
  306. FSAVEI
  307. IF FAILED
  308. FSAVEI SHIFT
  309. FSAVEI
  310. ENDI
  311. GOTO PRev_Pag
  312. ChangeOu:
  313. IF FLAG(2)
  314. IF NOT ZERO N92
  315. GOTO CHDI200
  316. ENDI
  317. ELSE
  318. IF NOT ZERO N91
  319. GOTO CHDI100
  320. ENDI
  321. ENDI
  322. IF FLAG(2)
  323. S11="PC2PC.REM"
  324. ELSE
  325. S11="PC2PC.LOC"
  326. ENDI
  327. FFIR S11
  328. FNEX S11 QUAL
  329. GOSU Ask_Dir
  330. IF FLAG(9)
  331. RETU
  332. ENDI
  333. FCLOSEI
  334. DELE S11
  335. GOSU Clear_Wi
  336. IF FLAG(2)
  337. GOSU BuildRem
  338. ELSE
  339. GOSU SendLocD
  340. ENDI
  341. IF FLAG(2)
  342. S11="PC2PC.REM"
  343. ELSE
  344. S11="PC2PC.LOC"
  345. ENDI
  346. FOPENI S11 TEXT
  347. RETU
  348. CHDI100:
  349. S10="_ONESCAPE"
  350. ON ESCA GOSU CHDIEsc
  351. SAVE 10,10,12,70
  352. BOX 10,10,12,70 (contrast)
  353. CHDI110:
  354. ATSA 11,12 (contrast) "Files are selected on local side: Delete? Y/N: "
  355. ATSA 12,26 (contrast) " Press ESC to cancel "
  356. KEYG S1
  357. ON ESCA GOSU S10
  358. REST
  359. SWIT S1
  360. CASE "N"
  361. RETU
  362. ENDC
  363. CASE "Y"
  364. S16=""
  365. N91=0
  366. GOTO ChangeOu
  367. ENDC
  368. DEFA
  369. SOUN 100,100
  370. GOTO CHDI100
  371. ENDC
  372. ENDS
  373. CHDI200:
  374. S10="_ONESCAPE"
  375. ON ESCA GOSU CHDIEsc
  376. SAVE 10,10,12,70
  377. BOX 10,10,12,70 (contrast)
  378. ATSA 11,12 (contrast) "Files are selected on remote side: Delete? Y/N: "
  379. ATSA 12,26 (contrast) " Press ESC to cancel "
  380. KEYG S1
  381. ON ESCA GOSU S10
  382. REST
  383. SWIT S1
  384. CASE "N"
  385. RETU
  386. ENDC
  387. CASE "Y"
  388. S15=""
  389. N92=0
  390. GOTO ChangeOu
  391. ENDC
  392. DEFA
  393. SOUN 100,100
  394. GOTO CHDI200
  395. ENDC
  396. ENDS
  397. CHDIEsc:
  398. S1=""
  399. RETU
  400. Disc_Err:
  401. BOX 10,10,12,70 (contrast)
  402. ATSA 11,12 (contrast) "Fatal disk error - PC2PC terminating"
  403. ATSA 12,26 (contrast) " Press any key to continue "
  404. KEYG S0
  405. GOTO Exit
  406. Unimpl:
  407. S10="_ONESCAPE"
  408. ON ESCA GOSU UnimEsc
  409. SAVE 10,10,12,70
  410. BOX 10,10,12,70 (contrast)
  411. ATSA 11,12 (contrast) "Unimplemented function"
  412. ATSA 12,26 (contrast) " Press any key to continue "
  413. KEYG S1
  414. ON ESCA GOSU S10
  415. REST
  416. RETU
  417. UnimEsc:
  418. RETU
  419. BuildLoc:
  420. FOPENO "PC2PC.LOC" TEXT
  421. IF FAILURE
  422. GOSU Disc_Err
  423. ENDI
  424. FFIR "*.*"
  425. IF Failure
  426. FCLOSEO
  427. RETU
  428. ENDI
  429. N1=1
  430. BULD100:
  431. FNEX S1
  432. IF Failure
  433. FCLOSEO
  434. RETU
  435. ENDI
  436. IF STRCMP S1 "PC2PC.LOC"
  437. GOTO BULD100
  438. ENDI
  439. IF STRCMP S1 "PC2PC.REM"
  440. GOTO BULD100
  441. ENDI
  442. IF STRCMP S1(1:1) "."
  443. GOTO BULD100
  444. ENDI
  445. FATT S2 S1
  446. IF STRCMP S2(3:3) "1"
  447. GOTO BULD100
  448. ENDI
  449. FSIZ S2 S1
  450. FDAT S3 S1
  451. FTIM S4 S1
  452. S1(13:79)=S2
  453. S1(21:79)=S3
  454. S1(31:79)=S4
  455. S1(36)=" "
  456. S1(37)=" "
  457. S1(38)=" "
  458. S1(39)=" "
  459. S1(40)=" "
  460. PRES S1
  461. IF GE (N99-5),N1
  462. ATSA N1,2 (default) S1(0:36)
  463. ENDI
  464. WRIT S1 40
  465. WRIT "^M" 2
  466. INC N1
  467. GOTO BULD100
  468. LinkTest:
  469. IF NOT CONNECTED
  470. GOTO NoLink
  471. ENDI
  472. LEGE " Testing for link"
  473. RFLU
  474. TRAN "!?!"
  475. RGET S1 80 10
  476. IF FAILURE
  477. GOTO NoLink
  478. ENDI
  479. IF NOT STRCMP S1 "PC-2-PC"
  480. GOTO NoLink
  481. ENDI
  482. GOSU Exchange
  483. IF NOT FLAG(0)
  484. GOTO NoLink
  485. ENDI
  486. LinkXIT:
  487. S19(20:79)="Linked"
  488. RETU
  489. NoLink:
  490. RFLU
  491. LEGE " Select link method"
  492. SET FLAG(0) OFF
  493. SAVE 8,10,21,70
  494. BOX 8,10,21,70 (contrast)
  495. ATSA 9,12 (contrast) "No link is detected: select one of the following:"
  496. ATSA 11,12 (contrast) "1) Direct connect "
  497. ATSA 12,12 (contrast) "2) Wait for direct connect"
  498. ATSA 14,12 (contrast) "3) Dial the remote PC"
  499. ATSA 15,12 (contrast) "4) Wait for call connect "
  500. ATSA 17,12 (contrast) "5) Change subdirectory "
  501. ATSA 18,12 (contrast) "6) Help"
  502. ATSA 20,12 (Contrast) "Select: "
  503. ATSA 21,28 (Contrast) " ESC terminates script "
  504. NOLI100:
  505. LOCA 20,21
  506. KEYG S1
  507. SWIT S1
  508. CASE "1"
  509. GOSU Direct
  510. IF not FLAG(9)
  511. GOTO NOLI100
  512. ENDI
  513. COMP S3
  514. S2="CONNECT: Direct Connect         "*S3*" PC-TO-PC"
  515. CLOG S2
  516. SET TIME (9)
  517. SET FLAG(3) ON
  518. REST
  519. ENDC
  520. CASE "2"
  521. GOSU Await_Di
  522. IF not FLAG(9)
  523. GOTO NOLI100
  524. ENDI
  525. GOSU Respond
  526. IF FLAG(1)
  527. SOUN 880,500
  528. GOTO NOLI100
  529. ENDI
  530. REST
  531. GOSU Exchange
  532. IF FLAG(0)
  533. COMP S3
  534. S2="CONNECT: Direct Connect         "*S3*" PC-TO-PC"
  535. CLOG S2
  536. SET FLAG(3) ON
  537. GOTO LinkXIT
  538. ENDI
  539. ENDC
  540. CASE "3"
  541. GOSU Dial
  542. IF FLAG(9)
  543. GOTO NOLI100
  544. ENDI
  545. CLOG "* PC-2-PC Dial done"
  546. REST
  547. ENDC
  548. CASE "4"
  549. GOSU Await_Ca
  550. IF FLAG(9)
  551. GOTO NOLI100
  552. ENDI
  553. GOSU Respond
  554. IF FLAG(1)
  555. SOUN 880,500
  556. GOTO NOLI100
  557. ENDI
  558. REST
  559. GOSU Exchange
  560. IF FLAG(0)
  561. CLOG "* PC-2-PC Dial auto-answer"
  562. GOTO LinkXIT
  563. ENDI
  564. ENDC
  565. CASE "5"
  566. FFIR "PC2PC.LOC"
  567. FNEX S11 QUAL
  568. GOSU Change_D
  569. IF FLAG(9)
  570. GOTO NOLI100
  571. ENDI
  572. FCLOSEI
  573. DELE S11
  574. REST
  575. SCRO 0,1,1,(N99-5),38 (default)
  576. GOSU BuildLoc
  577. FOPENI "PC2PC.LOC" TEXT
  578. GOTO NoLink
  579. ENDC
  580. CASE "6"
  581. GOSU Help
  582. GOTO NOLI100
  583. ENDC
  584. DEFA
  585. SOUN 100,100
  586. GOTO NOLI100
  587. ENDC
  588. ENDS
  589. GOTO LinkTest
  590. Direct:
  591. SET CDRE OFF
  592. GOSU Set_Parm
  593. RFLU
  594. RETU
  595. Await_Di:
  596. SET CDRE OFF
  597. GOSU Set_Parm
  598. RFLU
  599. RETU
  600. Set_parm:
  601. WOPE 8,10,15,70 (Contrast) SEPAESC
  602. SET FLAG(9) ON
  603. ATSA 8,12 (contrast) " Direct connection - set parameters"
  604. ATSA 9,12 (contrast) "Select any of the following, CR to begin:"
  605. ATSA 10,12 (contrast) "A) COM1"
  606. ATSA 11,12 (contrast) "B) COM2"
  607. ATSA 12,12 (contrast) "C) COM3"
  608. ATSA 13,12 (contrast) "D) COM4"
  609. ATSA 10,22 (contrast) "1) 300"
  610. ATSA 11,22 (contrast) "2) 1200"
  611. ATSA 12,22 (contrast) "3) 2400"
  612. ATSA 13,22 (contrast) "4) 4800"
  613. ATSA 10,32 (contrast) "5) 9600"
  614. ATSA 11,32 (contrast) "6) 14.4k"
  615. ATSA 12,32 (contrast) "7) 19.2k"
  616. ATSA 13,32 (contrast) "8) 38.4k"
  617. ATSA 10,42 (contrast) "9) 57.6k"
  618. ATSA 11,42 (contrast) "0) 115k"
  619. ATSA 12,42 (contrast) "Note: 115k may yield"
  620. ATSA 13,42 (contrast) "a high error rate..."
  621. ATSA 14,12 (contrast) "Current setting: "
  622. ATSA 15,29 (contrast) " Press ESC to cancel "
  623. SEPA100:
  624. CO